From: Julien Grall Date: Mon, 16 Feb 2015 14:50:45 +0000 (+0000) Subject: xen/arm: vgic-v3: Correctly implement read into GICR_NSACR X-Git-Tag: archive/raspbian/4.8.0-1+rpi1~1^2~3743 X-Git-Url: https://dgit.raspbian.org/%22http:/www.example.com/cgi/%22https://%22%22/%22http:/www.example.com/cgi/%22https:/%22%22?a=commitdiff_plain;h=cfef895c52cb2e82cc92916abd8769d0500763bd;p=xen.git xen/arm: vgic-v3: Correctly implement read into GICR_NSACR The 32-bit register GICR_NSACR is RAZ/WI on non-secure state. Therefore we should not inject a data abort to the guest. Signed-off-by: Julien Grall Acked-by: Ian Campbell --- diff --git a/xen/arch/arm/vgic-v3.c b/xen/arch/arm/vgic-v3.c index 11459723af..2c1471774b 100644 --- a/xen/arch/arm/vgic-v3.c +++ b/xen/arch/arm/vgic-v3.c @@ -530,8 +530,9 @@ static int vgic_v3_rdistr_sgi_mmio_read(struct vcpu *v, mmio_info_t *info, vgic_unlock_rank(v, rank, flags); return 1; case GICR_NSACR: - if ( dabt.size != DABT_WORD ) goto bad_width; - return 1; + /* We do not implement security extensions for guests, read zero */ + goto read_as_zero_32; + default: printk(XENLOG_G_ERR "%pv: vGICR: SGI: read r%d offset %#08x\n not found",